# 与客户相关的序列化器

from rest_framework import serializers
from sa.models import CustomerInfo

"""
需要从客户名称和remark中检索客户
"""


class CustomerInfoSerializer(serializers.ModelSerializer):
    class Meta:
        model = CustomerInfo
        fields = '__all__'
        read_only_fields = ['id']
        # 使用extra_kwargs参数为ModelSerializer添加或修改原有的选项参数
        extra_kwargs = {
            'region': {
                'required': True,  # API层面必填
                'allow_blank': False  # 不允许空字符串
            },
            'name': {
                'error_messages': {
                    'unique': '您输入的客户名称已被使用'
                }
            }
        }

    def validate_region(self, value):
        if not value:
            raise serializers.ValidationError('请选择正确区域！')
        return value
